Show host computer-use permission status on remote clients - #449
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Remote clients previously only said to manage Computer Use permissions on the host, leaving users unable to tell whether a host visit was necessary. Settings → Computer Use now queries the attached host and displays separate Accessibility and Screen Recording grants, with Recheck and automatic refresh on reconnect. Grant and restart actions remain on the host. Loading, disconnected, and failed requests never appear as granted or missing permissions; a late response cannot restore a disconnected snapshot.
The existing permission facts move to
tcode-coreand are re-exported by the native permission facade, keeping one shared representation without bringing native APIs into mobile or Web clients. The facade owns platform applicability, the runtime serves a non-prompting query, and the UI owns request cancellation and localized presentation. Windows reports that separate grants are unnecessary; unsupported hosts are explicit. English/Chinese strings and the design and Computer Use docs are updated.The regression test drives the production client through literal host messages. It covers mixed grant results, explicit refresh, disconnect cancellation, late replies, reconnect refresh, and a failed recheck replacing an earlier success.
Validation:
cargo fmt --all --checkcargo clippy --workspace --all-targets --locked -- -D warningscargo build --workspace --lockedcargo test --workspace --lockedcargo-machete .(0.9.2; the installed Cargo wrapper incorrectly passesmacheteas a directory)RUSTFLAGS='-D warnings', using the CI commands and NDK 27.1.12297006Local checks above were run before rebasing onto the latest main. CI validates the final PR commit on all configured platforms. Native Windows/Linux permission behavior and changing actual macOS system grants were not exercised locally.